_set_gate(idt_table+n,14,3,addr);
}
-void set_task_gate(unsigned int n, unsigned int sel)
-{
- idt_table[n].b = 0;
- wmb(); /* disable gate /then/ rewrite */
- idt_table[n].a = sel << 16;
- wmb(); /* rewrite /then/ enable gate */
- idt_table[n].b = 0x8500;
-}
-
void set_tss_desc(unsigned int n, void *addr)
{
_set_tssldt_desc(
return 0;
}
+static void set_task_gate(unsigned int n, unsigned int sel)
+{
+ idt_table[n].b = 0;
+ wmb(); /* disable gate /then/ rewrite */
+ idt_table[n].a = sel << 16;
+ wmb(); /* rewrite /then/ enable gate */
+ idt_table[n].b = 0x8500;
+}
+
void __devinit subarch_percpu_traps_init(void)
{
struct tss_struct *tss = &doublefault_tss;
extern void set_intr_gate(unsigned int irq, void * addr);
extern void set_system_gate(unsigned int n, void *addr);
-extern void set_task_gate(unsigned int n, unsigned int sel);
extern void set_tss_desc(unsigned int n, void *addr);
#endif /* !__ASSEMBLY__ */